package stringutils

import "math/rand"

const (
	//普通字符串a-zA-Z0-9
	STR_NORMAL = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
)

// 随机字符串(从STR_NORMAL中随机)
// @param min 最小长度
// @param max 最大长度
func RandomString(min int, max int) string {
	leng := 0
	if min == max {
		leng = min
	} else {
		if min > max {
			min, max = max, min
		}
		leng = rand.Intn(max-min) + min
	}

	//生成长度
	value := make([]byte, leng)
	for i := 0; i < leng; i++ {
		value[i] = STR_NORMAL[rand.Intn(len(STR_NORMAL))]
	}
	return string(value)
}

// 判断字符串是否为数字
func IsNumber(str string) bool {
	if len(str) == 0 { //空字符串
		return false
	}
	for _, v := range str {
		if v < '0' || v > '9' {
			return false
		}
	}
	return true
}

// 去掉字符串中非数字的字符
func RemoveNonNumber(str string) string {
	var result string
	for _, v := range str {
		if v >= '0' && v <= '9' {
			result += string(v)
		}
	}
	return result
}
